home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / text / dtp / TileNum.lha / Tile Number / Tile_number.rexx < prev    next >
OS/2 REXX Batch file  |  2000-09-04  |  7KB  |  228 lines

  1. /* $VER: Tile_Numbering 2.0 (09.02.00) 
  2.    for Pagestream 3.x
  3.    By Lázi (lazi@freemail.hu  */
  4.  
  5. OPTIONS RESULTS
  6.  
  7. /* Make sure rexx support is opened */
  8. IF ~SHOW('L','rexxsupport.library') THEN
  9.    CALL ADDLIB('rexxsupport.library',0,-30)
  10.  
  11. file_prefs='Pagestream3:Scripts/tilenum.prefs'
  12. file_guide='Pagestream3:Scripts/Tile_number.guide'
  13.  
  14. /* Opening prefs file and if it fails, then set presets    */
  15.  
  16. if Open(prefs_file,file_prefs,'R')=0 then do
  17.     p_tile=12
  18.     p_start=1000
  19.     p_pages=5
  20.     p_lead=''
  21.     p_digit=4
  22.     p_sorrend=0
  23.     p_varb='sorszám'
  24. end
  25. else do
  26.     p_tile=ReadLn(prefs_file)
  27.     p_start=ReadLn(prefs_file)
  28.     p_pages=ReadLn(prefs_file)
  29.     p_lead=ReadLn(prefs_file)
  30.     p_digit=ReadLn(prefs_file)
  31.     p_sorrend=ReadLn(prefs_file)
  32.     p_varb=ReadLn(prefs_file)
  33.     Close(prefs_file)
  34. end
  35.  
  36. ADDRESS 'PAGESTREAM'
  37.  
  38. /* Main requester */
  39.  
  40. allocarexxrequester '"Tile Numbering"' 280 210
  41.     reqhandler=result
  42.  
  43. addarexxgadget reqhandler EXIT 12 192 70 label '"Print"'
  44.     hprintgadget=result
  45. addarexxgadget reqhandler EXIT 200 192 70 label '"Cancel"'
  46.     hcancelgadget=result
  47. addarexxgadget reqhandler EXIT 12 5 70 label '"About"'
  48.     aboutgadget=result
  49. addarexxgadget reqhandler EXIT 200 5 70 label '"Help"'
  50.     helpgadget=result
  51. addarexxgadget reqhandler STRING 200 30 70 label '"_Number of pieces"' labelpos left string p_tile
  52.     reqpiece=result
  53. addarexxgadget reqhandler EXIT 5 50 120 label '"Make vars"'
  54.     mvarsgadget=result
  55. addarexxgadget reqhandler EXIT 155 50 120 label '"Make tiles"'
  56.     mtilesgadget=result
  57. addarexxgadget reqhandler STRING 200 70 70 label '"_Starting number"' labelpos left string p_start
  58.     reqstartnum=result
  59. addarexxgadget reqhandler STRING 200 90 70 label '"_Leading string"' labelpos left string p_lead
  60.     reqlead=result
  61. addarexxgadget reqhandler STRING 200 110 70 label '"Number of page_s"' labelpos left string p_pages
  62.     reqpages=result
  63. addarexxgadget reqhandler STRING 200 130 70 label '"Number of _digits"' labelpos left string p_digit
  64.     reqdigits=result
  65. addarexxgadget reqhandler STRING 200 150 70 label '"_Variable base name"' labelpos left string p_varb
  66.     reqvarb=result
  67. addarexxgadget reqhandler CHECKBOX 150 192 10 LABEL "_Check" labelpos left
  68.     reqcheck=result 
  69.  
  70. allocarexxlist
  71. rexxlist=result
  72. 'addarexxlist 'rexxlist' "continue on page"'
  73. 'addarexxlist 'rexxlist' "continue downward"'
  74.  
  75. addarexxgadget reqhandler CYCLE 45 172 200 string '"continue on page||continue downward"'
  76.     reqsorrend=result 
  77. setarexxgadget reqhandler reqsorrend list rexxlist current p_sorrend
  78.  
  79. loop:
  80.  
  81. doarexxrequester reqhandler
  82.     action=result
  83. getarexxgadget reqhandler reqpiece STRING
  84.     piece=result
  85. getarexxgadget reqhandler reqstartnum STRING
  86.     startnum=result
  87. getarexxgadget reqhandler reqpages STRING
  88.     pages=result
  89. getarexxgadget reqhandler reqdigits STRING
  90.     digits=result
  91. getarexxgadget reqhandler reqlead STRING
  92.     betujel=result
  93. getarexxgadget reqhandler reqsorrend current
  94.     sorrend=result
  95. getarexxgadget reqhandler reqvarb STRING
  96.     varb=result
  97. getarexxgadget reqhandler reqcheck checked
  98.     check=result
  99.     
  100. freearexxreqester reqhandler
  101.  
  102. /* Handle buttons */
  103.  
  104. if action=hcancelgadget then exit
  105.  
  106. if action=mvarsgadget then do
  107.     do i=1 to piece
  108.         newvariable varb||i startnum+i-1
  109.     end i
  110.     /* 'newvariable +Next «+»'
  111.         We'll use this when Find/Replace is done for a Next Record control
  112.         The script will search the text for these. If found, it will have to
  113.         replace following variable uses until the next Next control with
  114.         varname.1, etc. Then the script will have to reset multiple var groups
  115.         at once. */
  116.  
  117.     /* INFORM USER THAT VARS ARE CREATED */
  118.     allocarexxrequester '"Variables created"' 364 105
  119.         hDialog=result
  120.     addarexxgadget hDialog EXIT 282 88 70 label "OK"
  121.         hDialog.ok=result
  122.     addarexxgadget hDialog TEXT 8 10 356 border none string "'The variables have been created.'"
  123.     addarexxgadget hDialog TEXT 8 22 356 border none string "'Use the Type/Insert Variable » User String'"
  124.     addarexxgadget hDialog TEXT 8 34 356 border none string "'command to insert them into your document.'"
  125.     addarexxgadget hDialog TEXT 8 46 356 border none string "'When you are done, save it and then choose'"
  126.     addarexxgadget hDialog TEXT 8 58 356 border none string "'this macro again to print it.'"
  127.     doarexxrequester hDialog
  128.     freearexxrequester hDialog
  129.     exit
  130.     signal cleanup
  131. end
  132.  
  133. if action=helpgadget then do
  134.  
  135.     ADDRESS COMMAND 'Run Amigaguide 'file_guide' pubscreen PAGESTREAM3'
  136.     signal loop
  137.  
  138. end
  139. if action=aboutgadget then do
  140.     allocarexxrequester '"About"' 364 120
  141.         hDialog=result
  142.     addarexxgadget hDialog EXIT 282 100 70 label "OK"
  143.         hDialog.ok=result
  144.     addarexxgadget hDialog TEXT 8 10 356 border none string "'Tile Number V2.00 by Lázi (c) 2000'"
  145.     addarexxgadget hDialog TEXT 8 34 356 border none string "'Not tested on animals, but very dangerous'"
  146.     addarexxgadget hDialog TEXT 8 46 356 border none string "'for users and employees of Microsoft.'"
  147.     addarexxgadget hDialog TEXT 8 70 356 border none string "'This script is very FREEWARE!'"
  148.     addarexxgadget hDialog TEXT 8 82 356 border none string "'lazi@freemail.hu http://www.extra.hu/lazi'"
  149.  
  150.     doarexxrequester hDialog
  151.     freearexxrequester hDialog
  152.     signal loop
  153.  
  154.  
  155.     signal loop
  156. end
  157. if action=mtilesgadget then do
  158.  
  159.     allocarexxrequester '"Make tiles, or not?"' 364 105
  160.         hDialog=result
  161.     addarexxgadget hDialog EXIT 282 88 70 label "OK"
  162.         hDialog.ok=result
  163.     addarexxgadget hDialog TEXT 8 10 356 border none string "'Sorry, but this function is not implemeted'"
  164.         addarexxgadget hDialog TEXT 8 22 356 border none string "'yet!'"
  165.     addarexxgadget hDialog TEXT 8 46 356 border none string "'If you need this, give me some feedback.'"
  166.         addarexxgadget hDialog TEXT 8 70 356 border none string "'lazi@freemail.hu'"
  167.     doarexxrequester hDialog
  168.     freearexxrequester hDialog
  169.     signal loop
  170. end
  171.  
  172. openbusyrequester message "working..." thermometer enabled total pages current 0
  173. bh=result
  174.  
  175. do oldal=1 to pages
  176.  
  177. if sorrend=0 then do
  178. /* Continue on page */
  179.   do i=1 to piece
  180.     alma=(oldal-1)*piece+i+startnum-1
  181.     num=copies('0',digits-length(alma))
  182.     setvariablevalue betujel||num||alma VARIABLE varb||i
  183.   end i
  184. end
  185. else do
  186. /* Continue on downward */
  187.   do i=1 to piece
  188.     alma=startnum+(i-1)*pages+oldal-1
  189.     num=copies('0',digits-length(alma))
  190.     setvariablevalue betujel||num||alma VARIABLE varb||i
  191.   end i
  192. end
  193.  
  194. /* If Check is on, not doing the print job, just show the page on screen */
  195.  
  196. if check=0 then printdocument page 1 output color printermarks off mirror off negative off
  197. else do
  198.     allocarexxrequester '"Please check Page"' 170 30
  199.         hDialog=result
  200.     addarexxgadget hDialog EXIT 20 5 50 label "Next"
  201.         hDialog.next=result
  202.     addarexxgadget hDialog EXIT 90 5 50 label "Exit"
  203.         hDialog.exit=result
  204.     doarexxrequester hDialog
  205.         kapcs=result
  206.     freearexxrequester hDialog
  207.     if kapcs=hDialog.exit then signal vege
  208. end
  209.  
  210. setbusyrequester bh current oldal
  211. end oldal
  212. vege:
  213.  
  214. /* Write prefs file, when PRINT button is pressed */
  215.  
  216. if Open(prefs_file,file_prefs,'W')=1 then do
  217.     WriteLn(prefs_file,piece)
  218.     WriteLn(prefs_file,startnum)
  219.     WriteLn(prefs_file,pages)
  220.     WriteLn(prefs_file,betujel)
  221.     WriteLn(prefs_file,digits)
  222.     WriteLn(prefs_file,sorrend)
  223.     WriteLn(prefs_file,varb)
  224.     Close(prefs_file)
  225. end
  226. closebusyrequester bh
  227. exit
  228.